package mapper;

import com.lagou.entity.User;
import org.apache.ibatis.annotations.Param;

/**
 * 用户表(User)表数据库访问层
 *
 * @author Gilbert
 * @since 2021-06-26 22:45:14
 */
public interface UserDao {

    /**
     * 用户登录
     *
     * @param phone    手机号
     * @param password 密码
     * @return 实例对象
     */
    User login(@Param("phone") String phone, @Param("password") String password);

    /**
     * 检查手机号是否注册
     *
     * @param phone 手机号
     * @return 0:未注册，1:已注册
     */
    Integer checkPhone(String phone);

    /**
     * 用户注册
     *
     * @param phone    手机号
     * @param password 密码
     * @return 受影响行数
     */
    Integer register(@Param("phone") String phone, @Param("password") String password,
                     @Param("nickname") String nickname, @Param("portrait") String portrait);

    /**
     * 更新用户头像和昵称
     *
     * @param userId   用户编号
     * @param portrait 头像
     * @param name     昵称
     * @return 0:失败，1:成功
     */
    Integer updateUserInfo(@Param("userId") String userId, @Param("portrait") String portrait, @Param("name") String name);

    /**
     * 修改密码
     *
     * @param userId   用户编号
     * @param password 新密码
     * @return 0:失败，1:成功
     */
    Integer updatePassword(@Param("userId") String userId, @Param("password") String password);

}

